<?php
abstract class AbstractAnalyser {
	/**
	 * @var Quacophonie
	 */
	protected $_quacophonie = null;

	public function __construct(Quacophonie $quacophonie) {
		$this->_quacophonie = $quacophonie;
		$this->registerEvents();
	}
	
	final protected function send($event, $parameters = null) {
		$this->_quacophonie->send($event, $parameters);
	}
	
	final protected function register($event, $callback) {
		$this->_quacophonie->register($event, array( $this, $callback));	
	}
	
	final protected function getToken($offset = 0) {
		return $this->_quacophonie->getToken($offset);	
	}
	
	final protected function getIndex() {
		return $this->_quacophonie->getIndex();
	}
	
	public function reset() {
		
	}

	abstract protected function registerEvents();

}